home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Games Collection 1 / software vault.zip / software vault / CDR10 / YICN23.ZIP / UNITS / EVENT.CPP < prev    next >
C/C++ Source or Header  |  1992-11-12  |  1KB  |  51 lines

  1. #ifndef EVENT.H
  2. #include "event.h"
  3. #endif
  4.  
  5.  
  6. void event::advance()
  7. {
  8.   if (thisLine == NULL)
  9.     addCommand(scriptNode::doNothing, 0,0,0,0);
  10.   animactor::advance();
  11.   if (thisFrame->prevFrame == eventIcons[myIconNumber].lastFrame)
  12.     {
  13.     if (spawningActor == NULL)
  14.       remove();            //destroy this copy of the event
  15.     else
  16.        (spawningActor->spawnedActor = NULL);
  17.     delete(this);        //when it's done showing!
  18.     }
  19. }
  20.  
  21. void event::addAt(int x, int y, int sqx, int sqy) //create a copy of this
  22. {                          //event and put it on
  23.   event * newEvent = new event;          //the map.  It's destroyed
  24.   if (newEvent == NULL) return;
  25.   newEvent->mapX = x;                  //when its show is over!
  26.   newEvent->mapY = y;
  27.   newEvent->squareX = sqx;
  28.   newEvent->squareY = sqy;
  29.   newEvent->mymap = mymap;
  30.   newEvent->assignEvent(myIconNumber);
  31.   newEvent->spawningActor = NULL;
  32.   newEvent->spawnedActor = NULL;
  33.   newEvent->put(x, y);
  34. }
  35.  
  36. animicon * event::eventIcons = new animicon[MAX_EVENTS];
  37.  
  38. void event::loadEvent(int position, char far * filename, yakLib * myYakLib)
  39. {
  40.   event::eventIcons[position].addAll(filename, icon::normal, myYakLib);
  41. }
  42.  
  43. void event::assignEvent(byte iconNumber, byte identity)
  44. {
  45.   myIconNumber = iconNumber;
  46.   thisFrame = eventIcons[iconNumber].firstFrame;
  47.   if (identity == 255)
  48.     identity = iconNumber;
  49.   myIdentity = identity;
  50. }
  51.